#include <iostream>
#include <string>
#include <signal.h>
#include <cstring>
#include <cerrno>
#include <unistd.h>

void Usage(std::string proc)
{
    std::cout << "\tUsage:\n\t";
    std::cout << proc << "信号编号 目标进程" << std::endl;
}
 
void handler(int signo)
{
    std::cout << "get a signal: " << signo << std::endl;
}

int main(int argc, char* argv[])
{
    signal(6, handler);
    while (true)
    {
        abort();
        sleep(1);
    }
    
    // signal(2, handler);
    // signal(3, handler);

    // while (true)
    // {
    //     std::cout << "我是一个进程，我正在运行..., pid: " << getpid() << std::endl;
    //     sleep(1);
    // }

    // if (argc != 3)
    // {
    //     Usage(argv[0]);
    // }
    // int signo = atoi(argv[1]);
    // int target_id = atoi(argv[2]);
    // int n = kill(target_id, signo);
    // if (n != 0)
    // {
    //     std::cerr << errno << strerror(errno) << std::endl;
    //     exit(2);
    // }
    return 0;
}